Commit graph

12 commits

Author SHA1 Message Date
Mike Cao
d8c41ac8a6 Split board view/edit rendering and isolate edit interactions 2026-02-12 22:36:23 -08:00
Mike Cao
2c7ab2b734 Use i18n for board component strings, show controls in edit mode, require website before editing
Some checks are pending
Node.js CI / build (push) Waiting to run
- Replace raw strings with useMessages hook in BoardColumn and BoardComponentSelect
- Show WebsiteControls on edit screen so users can test filters
- Disable board body editing until a website is selected
- Scope website select to team websites when editing a team board

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 02:46:30 -08:00
Mike Cao
18702e130e Decompose BoardPage into individual components and remove debug logging.
Extract BoardRow, BoardColumn, BoardViewHeader, BoardEditHeader, and
boardConstants into separate files. Remove 9 console.log statements
from BoardBody and BoardProvider.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-06 04:47:23 -08:00
Mike Cao
a8534a9d4d Add board view/edit mode separation with cancel button.
/boards/[id] is now view mode (read-only) with an edit button.
/boards/[id]/edit is edit mode with save and cancel buttons.
Save navigates back to view, cancel discards changes.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-05 19:42:50 -08:00
Mike Cao
6367d94552 Add default row/column for new boards and prevent removing last column.
Some checks are pending
Node.js CI / build (push) Waiting to run
- New boards now start with one row containing one column
- Hide remove column button when only one column remains in a row

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-19 03:02:51 -08:00
Mike Cao
385bdd6734 Add panel size persistence on board save.
- Add registerLayoutGetter to BoardContext for collecting sizes on save
- Use GroupImperativeHandle and groupRef prop for react-resizable-panels
- Add id props to Panels for layout mapping by panel id
- Collect row and column sizes via getLayout() only when saving
- Restore saved sizes via defaultSize prop on Panels

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-19 01:25:31 -08:00
Mike Cao
30e48e3aaa Add panel size constraints and size properties to board types.
- Add MIN_ROW_HEIGHT, MAX_ROW_HEIGHT, MIN_COLUMN_WIDTH, BUTTON_ROW_HEIGHT constants
- Apply minSize/maxSize constraints to row and column panels
- Add size property to BoardColumn and BoardRow types for future persistence
- Add optional chaining for safer property access

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-19 00:28:42 -08:00
Mike Cao
30c3ba77cc Add remove column button and fix container height calculation.
- Add X button in top right corner of each column to remove it
- Fix container height to use MIN_HEIGHT instead of MAX_HEIGHT per row

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-18 21:19:24 -08:00
Mike Cao
ff6575ff54 Add move row up/down functionality to board editor.
Rows can now be reordered using up/down buttons. Buttons are disabled
at boundaries (up disabled on first row, down disabled on last row).

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-18 20:17:21 -08:00
Mike Cao
d9f698ca42 Board editing. 2026-01-18 04:20:36 -08:00
Mike Cao
68c56060b3 Add board state management with updateBoard and saveBoard methods.
BoardProvider now manages local board state and exposes updateBoard for
editing and saveBoard for persisting to the database. Supports both
create and edit modes with proper redirect after creation.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-16 21:05:43 -08:00
Mike Cao
d227bc369f Progress check-in.
Some checks failed
Node.js CI / build (postgresql, 18.18, 10) (push) Has been cancelled
2025-12-05 16:49:08 -08:00